package com.gaogzhen.intro;

import com.mchange.v3.decode.DecodeUtils;

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Base64;

public class Test {
    public static void main(String[] args) throws IOException {
        testLen();
    }

    public static void testLen() {
        String s = "dffD穗";
        int length = 0;
        for (int i = 0; i < s.length(); i++) {
            int ascii = Character.codePointAt(s, i);
            if (ascii >=0 && ascii <= 255) {
                length++;
            } else {
                length += 2;
            }
        }
        System.out.println(length);
        System.out.println(Charset.defaultCharset());
        System.out.println(s.getBytes(StandardCharsets.UTF_8).length);
    }
    public static byte[] doGetFile(String link) {
        try {
            URL url = new URL(link);
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            //设置请求方式为"GET"
            conn.setRequestMethod("GET");
            //超时响应时间为5秒
            conn.setConnectTimeout(5 * 1000);
            //通过输入流获取图片数据
            InputStream inStream = conn.getInputStream();
//                InputStream inStream = response.getEntity().getContent();
                ByteArrayOutputStream outStream = new ByteArrayOutputStream();
                //创建一个Buffer字符串
                byte[] buffer = new byte[1024];
                //每次读取的字符串长度，如果为-1，代表全部读取完毕
                int len = 0;
                //使用一个输入流从buffer里把数据读取出来
                while( (len=inStream.read(buffer)) != -1 ){
                    //用输出流往buffer里写入数据，中间参数代表从哪个位置开始读，len代表读取的长度
                    outStream.write(buffer, 0, len);
                }
                //关闭输入流
                inStream.close();
                //把outStream里的数据写入内存
                return outStream.toByteArray();

        } catch (IOException e) {
            e.printStackTrace();
        }

        return null;
    }
    public static void testFile() throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("H:/work/rename.bat"), StandardCharsets.UTF_8));
        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("H:/work/rename-reverse.bat"), StandardCharsets.UTF_8));

        String line ;
        while((line = reader.readLine()) != null) {
            String[] temp = line.split(" ");
            String t1 = temp[0];
            String t2 = "\"" + temp[2] + "\"";
            String t3 = temp[1].substring(1, temp[1].length() - 1);
            writer.write(t1 + " " + t2 + " " + t3);
            writer.newLine();
        }
        writer.flush();
        writer.close();
        reader.close();
    }

    public static void test2() {

    }
}
